package com.sinping.qh.dto.app.records;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.sinping.qh.domain.records.CheckUser;
import com.sinping.qh.dto.Insert;
import com.sinping.qh.dto.base.BaseDTO;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import java.util.List;

/**
 * @author zhangjin
 * @create 2018/5/29
 */
@Data
public class CheckPlanByAppDTO extends BaseDTO {

    /**
     * 检查院系名称
     */
    @JsonProperty("unit_name")
    @NotBlank(message = "检查院系名称不能为空",groups = {Insert.class})
    private String checkUnit;
    /**
     * 检查院系id
     */
    @JsonProperty("unit_id")
    @NotBlank(message = "检查院系不能为空",groups = {Insert.class})
    private String checkUnitId;
    /**
     * 检查楼宇
     */
    @JsonProperty("building_name")
    @NotBlank(message = "检查楼宇不能为空",groups = {Insert.class})
    private String checkBuilding;
    /**
     * 检查楼宇id
     */
    @NotBlank(message = "检查楼宇不能为空",groups = {Insert.class})
    @JsonProperty("building_id")
    private String checkBuildingId;
    /**
     * 检查人员 子文档
     */
    @JsonProperty("check_users_id")
    private List<String> checkUserId;

    /**
     * 检查人员
     */
    @JsonProperty("check_users")
    private List<CheckUser> checkUser;

    /**
     * 院系参加人员
     */
    @JsonProperty("union_unit_users")
    private String unionUnitUser;
    /**
     * 创建人名称
     */
    @NotBlank(message = "创建人名称不能为空",groups = {Insert.class})
    @JsonProperty("create_user_name")
    private String createUserName;
    /**
     * 创建人id
     */
    @NotBlank(message = "创建人id不能为空",groups = {Insert.class})
    @JsonProperty("create_user_id")
    private String createUserId;
    /**
     * 修改人id
     */
    @JsonProperty("update_user_id")
    private String updateUserId;


    /**
     * 离线检查计划用
     * 检查记录
     */
    @JsonProperty("check_records")
    private List<CheckRecordOffLineByAppDTO> checkRecords;

    /**
     * 离线检查计划用
     * 所有的图片
     */
    @JsonProperty("image_list")
    private List<String> imageList;
}
